package com.itheima.mapper;


import com.itheima.pojo.Brand;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

import java.util.List;
import java.util.Map;

public interface BrandMapper {
    /*查询所有*/
    @Select(
            "select * from tb_brand;"
    )
     List<Brand> selectAll();

     /*查看详情*/
    Brand selectById(int id);

    /*
       多条件查询
           * 参数接收
                1.散装参数：如果方法中有多个参数，需要使用@Param（“sql参数占位符名称”）
                2.对象参数:对象属性名称要与参数占位符名称一致
                3.Map参数
                    多个参数封装为Map集合,可以使用@pram注解，替换Map集合中的arg键名
                        map.put("arg0",参数1)                 map.put("username",参数1)
                        map.put("param1",参数1)               map.put("param1",参数1)
                        map.put("param2",参数2)               map.put("param2",参数2)
                        map.put("arg1",参数2)                 map.put("password",参数2)
     *  */
//    List<Brand> selectByCondition(@Param("status") int status,@Param("companyName") String companyName,@Param("brandName") String brandName);

//   List<Brand> selectByCondition(Brand brand);

    List<Brand> selectByCondition(Map map);

    /*
    * 单条件动态查询
    * */
    List<Brand> selectByConditionSingle(Brand brand);

    /*添加*/
    void add(Brand brand);

    /*修改*/
    int update(Brand brand);

    /*根据id删除*/
    int deleteById(int id);

    /*批量删除*/
    void deleteBuIds(@Param("ids") int[] id);







}
